/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package forcadistribuido;

import forcadistribuido.remoteClientInterface.IRemoteClient;
import forcadistribuido.remoteServerInterface.IForcaRemota;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.swing.ImageIcon;

/**
 * Objeto cliente (jogador da forca)
 * @author matheus
 */
public class RemoteClient implements IRemoteClient, Serializable{

    private String nome; //nome do cliente no servidor

    private String palavraServidor; //palavra no servidor (estado atual)

    private IForcaRemota remoteServer; //referencia para a interface remota do servidr

    private ForcaClientView view;//referencia para a interface gráfica

    public RemoteClient(String nome) {
        this.nome = nome;
    }

    public String getNomeJogador() throws RemoteException {
        return nome;
    }

    public void atualizaPalavra(String statusPalavra) throws RemoteException {
        palavraServidor = statusPalavra;
        System.out.println("Palavra na forca" + palavraServidor);
        view.getjLabel1().setText(palavraServidor);
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the remoteServer
     */
    public IForcaRemota getRemoteServer() {
        return remoteServer;
    }

    /**
     * @param remoteServer the remoteServer to set
     */
    public void setRemoteServer(IForcaRemota remoteServer) {
        this.remoteServer = remoteServer;
    }

    /**
     * @return the view
     */
    public ForcaClientView getView() {
        return view;
    }

    /**
     * @param view the view to set
     */
    public void setView(ForcaClientView view) {
        this.view = view;
    }

    public void atualizaStatusJogo(String status) throws RemoteException {
       InitClient.getJr().view.getjLabel4().setText(status);
    }

    public void atualizaStatusJogo2(String status) throws RemoteException {
        InitClient.getJr().view.getjLabel5().setText(status);
    }

    public void atualizaForca(int index) throws RemoteException{
        switch(index){
            case 0: view.getJLabel3().setIcon(new ImageIcon(getClass().
                    getResource("/forcadistribuido/forca0.JPG")));
            break;

            case 1: view.getJLabel3().setIcon(new ImageIcon(getClass().
                    getResource("/forcadistribuido/forca1.JPG")));
            break;

            case 2: view.getJLabel3().setIcon(new ImageIcon(getClass().
                    getResource("/forcadistribuido/forca2.JPG")));
            break;

            case 3: view.getJLabel3().setIcon(new ImageIcon(getClass().
                    getResource("/forcadistribuido/forca3.JPG")));
            break;

            case 4: view.getJLabel3().setIcon(new ImageIcon(getClass().
                    getResource("/forcadistribuido/forca4.JPG")));
            break;

            case 5: view.getJLabel3().setIcon(new ImageIcon(getClass().
                    getResource("/forcadistribuido/forca5.JPG")));
            break;

            case 6: view.getJLabel3().setIcon(new ImageIcon(getClass().getResource("/forcadistribuido/forca6.JPG")));
            break;
        }
        
    }


}
